home *** CD-ROM | disk | FTP | other *** search
- package com.ibm.ivb.jface.basic;
-
- import com.ibm.ivb.jface.parts.ToolBarButton;
- import com.ibm.ivb.jface.plaf.ToolBarButtonUI;
- import com.ibm.ivb.jface.util.ImageUtil;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Insets;
- import java.awt.Rectangle;
- import javax.swing.AbstractButton;
- import javax.swing.ButtonModel;
- import javax.swing.Icon;
- import javax.swing.ImageIcon;
- import javax.swing.JComponent;
- import javax.swing.SwingUtilities;
- import javax.swing.border.Border;
- import javax.swing.plaf.ComponentUI;
- import javax.swing.plaf.basic.BasicButtonUI;
-
- public class BasicToolBarButtonUI extends ToolBarButtonUI {
- private static final String kCBIBMCopyright = "(c) Copyright IBM Corporation 1998";
- protected static int borderShiftX;
- protected static int borderShiftY;
- protected static BasicToolBarButtonUI tbuttonUI;
- protected static Border savedBorder = null;
- protected int textHorizontalMargin = 3;
- protected int iconShiftX;
- protected int iconShiftY;
- protected static Image borderUp;
- protected static Image borderDown;
- protected static Icon iborderUp;
- protected static Icon iborderDown;
- protected static boolean imagesLoaded;
- protected static boolean filtered;
- // $FF: synthetic field
- static Class class$com$ibm$ivb$jface$basic$BasicToolBarButtonUI;
-
- public static ComponentUI createUI(JComponent var0) {
- if (tbuttonUI == null) {
- tbuttonUI = new BasicToolBarButtonUI();
- borderShiftX = 1;
- borderShiftY = 1;
- }
-
- return tbuttonUI;
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- return this.getPreferredSize(var1);
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- return this.getPreferredSize(var1);
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- ToolBarButton var2 = (ToolBarButton)var1;
- String var3 = ((AbstractButton)var2).getText();
- Insets var4 = ((JComponent)var2).getInsets();
- if (var3 == null) {
- return new Dimension(iborderUp.getIconWidth() + var4.left + var4.right, iborderUp.getIconHeight() + var4.top + var4.bottom);
- } else {
- Icon var5 = ((AbstractButton)var2).getIcon();
- Font var6 = ((Component)var2).getFont();
- FontMetrics var7 = ((Component)var1).getFontMetrics(var6);
- Rectangle var8 = new Rectangle();
- Rectangle var9 = new Rectangle();
- Rectangle var10 = new Rectangle(32767, 32767);
- Icon var11 = ((AbstractButton)var2).getIcon() != null ? iborderUp : null;
- SwingUtilities.layoutCompoundLabel(var7, var3, var11, ((AbstractButton)var2).getVerticalAlignment(), ((AbstractButton)var2).getHorizontalAlignment(), ((AbstractButton)var2).getVerticalTextPosition(), ((AbstractButton)var2).getHorizontalTextPosition(), var10, var8, var9, 0);
- Rectangle var12 = var8.union(var9);
- var12.width += var4.left + var4.right + this.textHorizontalMargin + this.textHorizontalMargin;
- var12.height += var4.top + var4.bottom;
- if (var5 == null) {
- var12.width += 4;
- var12.height += 4;
- }
-
- return var12.getSize();
- }
- }
-
- public void installUI(JComponent var1) {
- super.installUI(var1);
- ToolBarButton var2 = (ToolBarButton)var1;
- savedBorder = var1.getBorder();
- ((JComponent)var2).setBorder((Border)null);
- this.iconShiftX = -1;
- this.iconShiftY = -1;
- super.defaultTextShiftOffset = 1;
- ((AbstractButton)var2).setBorderPainted(false);
- super.defaultTextShiftOffset = 1;
- if (!imagesLoaded) {
- this.loadImages(true, var1);
- iborderUp = new ImageIcon(borderUp);
- iborderDown = new ImageIcon(borderDown);
- }
-
- }
-
- protected boolean isRolloverSupported() {
- return true;
- }
-
- protected void loadImages(boolean var1, JComponent var2) {
- if (var1) {
- ImageUtil.setRelativeClass(class$com$ibm$ivb$jface$basic$BasicToolBarButtonUI != null ? class$com$ibm$ivb$jface$basic$BasicToolBarButtonUI : (class$com$ibm$ivb$jface$basic$BasicToolBarButtonUI = class$("com.ibm.ivb.jface.basic.BasicToolBarButtonUI")));
- borderUp = ImageUtil.loadImage("images/e_mon_but_up.gif");
- borderDown = ImageUtil.loadImage("images/e_mon_but_dn.gif");
- Color var3 = ((Component)var2).getBackground();
- if (ImageUtil.isFilteringNeeded(var3)) {
- borderUp = ImageUtil.filterImage(borderUp, var3);
- borderDown = ImageUtil.filterImage(borderDown, var3);
- filtered = true;
- }
-
- imagesLoaded = true;
- } else {
- borderUp = null;
- borderDown = null;
- imagesLoaded = false;
- }
- }
-
- public void paint(Graphics var1, JComponent var2) {
- ToolBarButton var3 = (ToolBarButton)var2;
- Dimension var4 = ((Component)var3).getSize();
- ButtonModel var5 = ((AbstractButton)var3).getModel();
- boolean var6 = var5.isArmed() && var5.isPressed();
- int var7 = var3.getBorderMode();
- Icon var8 = var6 ? iborderDown : iborderUp;
- Rectangle var9 = new Rectangle(var4);
- Insets var10 = var2.getInsets();
- var9.x += var10.left;
- var9.y += var10.top;
- var9.width -= var10.right + var9.x;
- var9.height -= var10.bottom + var9.y;
- Rectangle var11 = new Rectangle();
- Rectangle var12 = new Rectangle();
- Font var13 = ((Component)var2).getFont();
- var1.setFont(var13);
- FontMetrics var14 = var1.getFontMetrics();
- String var15 = ((AbstractButton)var3).getText();
- if (((AbstractButton)var3).getIcon() == null) {
- var8 = null;
- }
-
- if (var15 != null) {
- var9.width -= this.textHorizontalMargin + this.textHorizontalMargin;
- var15 = SwingUtilities.layoutCompoundLabel(var14, var15, var8, ((AbstractButton)var3).getVerticalAlignment(), ((AbstractButton)var3).getHorizontalAlignment(), ((AbstractButton)var3).getVerticalTextPosition(), ((AbstractButton)var3).getHorizontalTextPosition(), var9, var11, var12, 0);
- } else {
- var11.width = var8.getIconWidth();
- var11.height = var8.getIconHeight();
- var11.x = var4.width / 2 - var11.width / 2;
- var11.y = var4.height / 2 - var11.height / 2;
- }
-
- if (var6 && ((AbstractButton)var3).getIcon() == null && ((AbstractButton)var3).getText() != null) {
- ((BasicButtonUI)this).setTextShiftOffset();
- } else {
- ((BasicButtonUI)this).clearTextShiftOffset();
- }
-
- if (var7 == 3 || !this.isRolloverSupported() || var7 == 2 && var5.isRollover()) {
- if (var8 != null) {
- var8.paintIcon(var2, var1, var11.x, var11.y);
- } else {
- var1.setColor(((Component)var2).getBackground());
- var1.draw3DRect(var9.x, var9.y, var9.width - 1, var9.height - 1, !var6);
- }
- }
-
- if (var15 != null) {
- ((BasicButtonUI)this).paintText(var1, var3, var12, var15);
- }
-
- ((BasicButtonUI)this).clearTextShiftOffset();
- if (((AbstractButton)var3).getIcon() != null) {
- this.paintIcon(var1, var3, var11);
- }
-
- }
-
- protected void paintIcon(Graphics var1, ToolBarButton var2, Rectangle var3) {
- Icon var4 = ((AbstractButton)var2).getIcon();
- if (var4 != null) {
- Rectangle var5 = new Rectangle();
- ButtonModel var6 = ((AbstractButton)var2).getModel();
- int var7 = var6.isArmed() && var6.isPressed() ? 1 : 0;
- var5.width = var4.getIconWidth();
- var5.height = var4.getIconHeight();
- var5.x = var3.x + var3.width / 2 - var5.width / 2 + var7 + this.iconShiftX;
- var5.y = var3.y + var3.height / 2 - var5.height / 2 + var7 + this.iconShiftY;
- super.paintIcon(var1, var2, var5);
- }
-
- }
-
- public void uninstallUI(JComponent var1) {
- super.uninstallUI(var1);
- if (savedBorder != null) {
- var1.setBorder(savedBorder);
- }
-
- if (imagesLoaded) {
- this.loadImages(false, var1);
- }
-
- iborderUp = null;
- iborderDown = null;
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
- }
-